package com.ruoyi.develop.lnGongyigongxu.service.impl;

import java.util.List;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.DateUtils;
        import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.ruoyi.develop.lnGongyigongxu.mapper.LnGongyigongxuMapper;
import com.ruoyi.develop.lnGongyigongxu.domain.LnGongyigongxu;
import com.ruoyi.develop.lnGongyigongxu.service.ILnGongyigongxuService;

/**
 * 工艺工序关联Service业务层处理
 * @author qh
 * @date 2024-10-21
 */
@Service
public class LnGongyigongxuServiceImpl implements ILnGongyigongxuService {
    @Resource
    private LnGongyigongxuMapper lnGongyigongxuMapper;

    /**
     * 查询工艺工序关联
     * @param id 工艺工序关联主键
     * @return 工艺工序关联
     */
    @Override
    public LnGongyigongxu selectById(String id) {
        return lnGongyigongxuMapper.selectById(id);
    }

    /**
     * 查询工艺工序关联列表
     * @param entity 工艺工序关联
     * @return 工艺工序关联
     */
    @Override
    public List<LnGongyigongxu> selectList(LnGongyigongxu entity) {
        return lnGongyigongxuMapper.selectList(entity);
    }

    @Override
    public List<LnGongyigongxu> selectGongxuGongyi(String gongxuId,String gongyiId) {
        return lnGongyigongxuMapper.selectGongxuGongyi(gongxuId,gongyiId);
    }

    @Override
    public List<LnGongyigongxu> selectByGongyi(String gongyiId) {
        return lnGongyigongxuMapper.selectByGongyi(gongyiId);
    }

    @Override
    public void deleteByGyGx(String gongxuId,String gongyiId) {
        lnGongyigongxuMapper.deleteByGyGx(gongxuId, gongyiId);
    }
    @Override
    public void deleteByGongyiId(String gongyiId) {
        lnGongyigongxuMapper.deleteByGongyiId( gongyiId);
    }
    /**
     * 新增工艺工序关联
     * @param entity 工艺工序关联
     * @return 结果
     */
    @Override
    public int insert(LnGongyigongxu entity) {
        if(StringUtils.isBlank(entity.getId())){
            entity.setId(IdUtils.fastSimpleUUID());
        }
                entity.setCreateBy(SecurityUtils.getUsername());
                entity.setCreateTime(DateUtils.getNowDate());
            return lnGongyigongxuMapper.insert(entity);
    }

    /**
     * 修改工艺工序关联
     * @param entity 工艺工序关联
     * @return 结果
     */
    @Override
    public int update(LnGongyigongxu entity) {
                entity.setUpdateBy(SecurityUtils.getUsername());
                entity.setUpdateTime(DateUtils.getNowDate());
        return lnGongyigongxuMapper.update(entity);
    }

    @Override
    public int editAll(LnGongyigongxu entity) {
        for(String id:entity.getIds()){
            LnGongyigongxu lnGongyigongxu = lnGongyigongxuMapper.selectById(id);
            lnGongyigongxu.setShuoming(entity.getShuoming());
            lnGongyigongxu.setDeptId(entity.getDeptId());
            lnGongyigongxu.setDeptName(entity.getDeptName());
            lnGongyigongxu.setWorkHour(entity.getWorkHour());
            lnGongyigongxu.setName(entity.getName());
            lnGongyigongxu.setGoodsName(entity.getGoodsName());
            lnGongyigongxu.setGoodsModel(entity.getGoodsModel());
            lnGongyigongxu.setUpdateBy(SecurityUtils.getUsername());
            lnGongyigongxu.setUpdateTime(DateUtils.getNowDate());
            lnGongyigongxuMapper.update(lnGongyigongxu);
        }
        return entity.getIds().length;
    }
    /**
     * 批量删除工艺工序关联
     * @param ids 需要删除的工艺工序关联主键
     * @return 结果
     */
    @Override
    public int deleteByIds(String[] ids) {
        return lnGongyigongxuMapper.deleteByIds(ids);
    }

    /**
     * 删除工艺工序关联信息
     * @param id 工艺工序关联主键
     * @return 结果
     */
    @Override
    public int deleteById(String id) {
        return lnGongyigongxuMapper.deleteById(id);
    }
    /*@Override
    public int setLast(String id) {
        lnGongyigongxuMapper.update(id);
        lnGongyigongxuMapper.update(id);
        return 1;
    }*/
    @Override
    public void updateAllNotLast(String gongyiId) {
        lnGongyigongxuMapper.updateAllNotLast(gongyiId);
    }
    @Override
    public void updateLastById(String id) {
        lnGongyigongxuMapper.updateLastById( id);
    }

}
